package com.oha.laporrayelchurro.servlet;

import java.io.IOException;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import com.oha.laporrayelchurro.model.Usuario;
import com.oha.laporrayelchurro.service.UsuarioService;

/**
 * Gestion usuarios
 * @author oscarha
 *
 */
public class UsuarioServlet extends BaseServlet{

	/**
	 * serialization
	 */
	private static final long serialVersionUID = 1L;
	
	/**
	 * pais Service
	 */
	private UsuarioService uService = new UsuarioService();
	
	/**
	 * accion get
	 */
	protected void doGet(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		showData(req, resp);
	}
	
	/**
	 * Accion post
	 */
	protected void doPost(HttpServletRequest req, HttpServletResponse resp)
			throws ServletException, IOException {
		Usuario model = getModelReq(req);
		if(model!=null){
			uService.saveOrUpdate(model);
		}
		showData(req, resp);
	}
	
	/**
	 * Muestra los datos
	 * @param req
	 * @param resp
	 * @throws ServletException
	 * @throws IOException
	 */
	private void showData(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException{
		List<Usuario> pList = uService.getAll();
		req.setAttribute("modelList", pList);
		goToView(req, resp, "/pages/usuario.jsp");
	}
	
	/**
	 * Obtiene un objeto pais desde el request
	 * @param req
	 * @return
	 */
	private Usuario getModelReq(HttpServletRequest req){
		Usuario model = null;
		String nombre = getParam(req, "nombre");
		if(nombre!=null && nombre.trim().length()>0){
			model = new Usuario();
			model.setNombre(nombre);
		}
		return model;
	}
	
}
